!=============Programa que calcula raíz n-ésima de complexo=============

PROGRAM exer02

!=======================================================================

IMPLICIT NONE

!=========================Declaração de variáveis=======================

      REAL(8) :: Re, Im, a, z0, tetha, z_k, Arg
      REAL(8), PARAMETER :: PI = 3.141592653589793d0
      INTEGER :: K, N

!=====================Leitura dos dados do usuário======================

      WRITE(*,*) 'Entre com N, onde N será o número de raízes de z'
      READ(*,*) N
      WRITE(*,*) 'Entre com o número complexo no formato: Re Im'
      READ(*,*) Re, Im
      WRITE(*,*) 'Entre com o real A que será subtraído de z'
      READ(*,*) a

!=======================Inicializa as variáveis=========================

      z0 = ((Re - a)**2 + Im*Im)**(1/2)
      tetha = DATAN(Im/Re)

!===========================Cálculo das raízes==========================

      DO K=0,(N-1)
            !Calcula o argumento da raiz z_k
            Arg = tetha/N + 2d0*K*PI/N
            !Calcula o módulo da raiz z_k
            z_k = z0**(1/N)
            !Imprime as coordenadas de z_k no plano complexo
            WRITE(*,*) '(', z_k*DCOS(Arg), ',', z_k*DSIN(Arg), ')' 
      END DO

!=======================================================================

END PROGRAM exer02

!=======================================================================
